import java.util.ArrayList;
import java.util.List;

public class LeetCode3159 {
    public int[] occurrencesOfElement(int[] nums, int[] queries, int x) {
        // 存储 x 在 nums 中出现的位置
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == x) {
                list.add(i);
            }
        }
        //创建一个与 queries 数组长度相同的 answer 数组。
        int[] answer = new int[queries.length];
        //再次遍历 queries 数组，对于每个查询元素，如果查询元素大于 xPositions 列表的大小，将 -1 存储在 answer 数组的相应位置
        for (int i = 0; i < queries.length; i++) {
            if (queries[i]>list.size()) {
                answer[i] = -1;
            }else{
//                否则，从 xPositions 列表中取出相应位置的元素存储在 answer 数组中。
                answer[i] = list.get(queries[i]-1);
            }
        }
        return answer;
    }
}
